使用API控制连接到OneNET的物联网设备

您所在的位置:网站首页 api key是哪个 使用API控制连接到OneNET的物联网设备

使用API控制连接到OneNET的物联网设备

2023-08-17 06:43| 来源: 网络整理| 查看: 265

当我们使用把设备连接到onenet上之后,若想要控制设备,可以通过直接使用API的方式

建议先使用官方ucos-edp代码烧到开发板进行调试

文档网址:https://open.iot.10086.cn/doc/art257.html#68

一、edp协议

查看公开文档里面的API

这里写图片描述

1.1使用客户端postman进行调试

第一步:下载客户端 第二部:安装客户端 第三步:按照下图进行配置

先写header 这里写图片描述

再写body

这里写图片描述

再按send,就能够发送cmd指令了

1.2使用python import requests url = "http://api.heclouds.com/cmds" querystring = {"device_id":"xxxxxx"} payload = "name=\"{redled}1\"\r\n\r\n\r\n" headers = { 'api-key': "xxxxxxxxxxxxxxxxxx=", } response = requests.request("POST", url, data=payload, headers=headers, params=querystring) print(response.text) 二、MQTT

在官方文档里有提供按TOPIC发送命令的api

这里写图片描述

因此,只需要按照该方法进行POST即可

1.1 使用python的示例:

导入requests包,mqtt后面的“?”是带参数的意思

import requests url = "http://api.heclouds.com/mqtt?topic=xxxYOURTOPICxxx" querystring = {"device_id":"xxxYOURIDxxx"} payload = "xxxxxxxxxxxxxx"\r\n\r\n\r\n" headers = { 'api-key': "xxxxxYOURAPIKEYxxxxxxxx", } response = requests.request("POST", url, data=payload, headers=headers, params=querystring) print(payload) print(response.text) 1.2 使用php的示例

1、官方rest api的写法

$apikey = ''; $apiurl = 'http://api.heclouds.com'; $device_id = 12345; //创建api对象 $sm = new OneNetApi($apikey, $apiurl); $device = $sm->device($device_id); var_dump($device);

就这么几行… 参考地址:https://github.com/cm-heclouds/PHPSDK

2、伟哥在公众号后台服务器中的写法

先定义了一个函数 private function request_url($url = '', $is_post=0 ,$post_data="") { $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_HTTPHEADER ,array('api-key:vGWaKT0MwmPZHgsYaGfsqPi5mSQ='));//这里要用自己的api-key 我用###########把自己的隐藏掉了 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 if($is_post){ curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); } $data = curl_exec($ch);//运行curl curl_close($ch); return ($data); } 再调用(看前三行就行) $url = 'http://api.heclouds.com/cmds?device_id=12044783'; $cmd = "{redled}1"; $ret_json = json_decode($this->request_url($url,1,$cmd),true); if( $ret_json["errno"]==0){ $content="命令发送成功!红灯已开"; }else{ $content="命令失败!\n错误码=".$ret_json["errno"]."\n错误信息".$ret_json["error"]; }

附录:

各种sdk包:https://github.com/cm-heclouds?tab=repositories



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3